package com.usesion.base.entity;

import com.usesion.common.constant.Constants;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serializable;

/**
 * @desc: Json统一返回消息类
 * @author: XT
 */
@Data
@AllArgsConstructor
public class JsonResult implements Serializable {
    /**
     * 0 成功 -1 失败
     */
    private int code;
    /**
     * 提示信息
     */
    private String msg;
    /**
     * 数据
     */
    private Object data;

    /**
     * 处理成功
     * @return
     */
    public static final JsonResult success() {
        return new JsonResult(Constants.SUCCESS, "操作成功", null);
    }

    /**
     * 处理成功
     * @param msg 消息
     * @return
     */
    public static final JsonResult success(String msg) {
        return new JsonResult(Constants.SUCCESS, msg, null);
    }

    /**
     * 处理成功，并返回数据
     * @param data 数据对象
     * @return data
     */
    public static final JsonResult success(Object data) {
        return new JsonResult(Constants.SUCCESS, "操作成功", data);
    }

    /**
     * 处理失败
     * @return
     */
    public static final JsonResult failure() {
        return new JsonResult(Constants.FAIL, "操作失败",null);
    }

    /**
     * 处理失败
     * @param msg 消息
     * @return
     */
    public static final JsonResult failure(String msg) {
        return new JsonResult(Constants.FAIL, msg,null);
    }

}
